package com.xiaoshuidi.cloud.module.contract.controller.admin.contract.vo.customerCompany;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;
import java.util.List;

import static com.xiaoshuidi.cloud.framework.common.util.date.DateUtils.TIME_ZONE_DEFAULT;
import static com.xiaoshuidi.cloud.module.contract.util.date.DateUtils.FORMAT_SECOND;

@Schema(description = "管理后台 - 企业客户 Response VO")
@Data
@ToString(callSuper = true)
public class CustomerCompanyRespVO {
    /**
     * id
     */
    @Schema(description = "id", required = true)
    private Long id;
    /**
     * 企业名称
     */
    @Schema(description = "企业名称", required = true)
    private String companyName;
    /**
     * 法人名称
     */
    @Schema(description = "法人名称")
    private String leader;
    /**
     * 社会统一信用代码
     */
    @Schema(description = "社会统一信用代码")
    private String businessLicence;
    /**
     * 营业执照图片
     */
    @Schema(description = "营业执照图片")
    private String businessLicencePic;
    /**
     * 公司电话
     */
    @Schema(description = "公司电话")
    private String telephone;
    /**
     * 企业地址
     */
    @Schema(description = "企业地址")
    private String address;
    /**
     * 所属行业
     */
    @Schema(description = "所属行业")
    private String industry;
    /**
     * 公司规模
     */
    @Schema(description = "公司规模")
    private String companySize;
    /**
     * 企业状态
     */
    @Schema(description = "企业状态")
    private String status;
    /**
     * 所属银行
     */
    @Schema(description = "所属银行")
    private String bank;
    /**
     * 账户名称
     */
    @Schema(description = "账户名称")
    private String accountName;
    /**
     * 银行卡号
     */
    @Schema(description = "银行卡号")
    private String creditCard;
    /**
     * 开户行名称
     */
    @Schema(description = "开户行名称")
    private String bankArea;
    /**
     * 联系人名称
     */
    @Schema(description = "联系人名称")
    private String contactsName;
    /**
     * 联系人手机号
     */
    @Schema(description = "联系人手机号")
    private String contactsPhone;

    /**
     * 代理人名称
     */
    @Schema(description = "代理人名称")
    private String agentName;
    /**
     * 代理人手机号
     */
    @Schema(description = "代理人手机号")
    private String agentPhone;
    /**
     * 备注
     */
    @Schema(description = "备注")
    private String remark;
    /**
     * 创建时间
     */
    @Schema(description = "创建时间")
    @DateTimeFormat(pattern = FORMAT_SECOND)
    @JsonFormat(pattern = FORMAT_SECOND, timezone = TIME_ZONE_DEFAULT)
    private LocalDateTime createTime;
    /**
     * 证件图片
     */
    @Schema(description = "证件图片")
    private List<String> documentList;

    /**
     * 大客户 0否  1是
     */
    @Schema(description = "大客户 0否  1是")
    private Integer keyAccount;
    /**
     * 优惠折扣
     */
    @Schema(description = "优惠折扣")
    private Integer discountValue;
    /**
     * 禁用标记 0启用 1禁用
     */
    @Schema(description = "禁用标记")
    private Integer disableFlag;

    @Schema(description = "企业税号")
    private String taxpayerId;

}
